package com.cloudlead.commonData.query;

import static com.mysema.query.types.PathMetadataFactory.*;
import com.cloudlead.commonData.entity.EBaseOilCard;


import com.mysema.query.types.path.*;

import com.mysema.query.types.PathMetadata;
import javax.annotation.Generated;
import com.mysema.query.types.Path;

import com.mysema.query.sql.ColumnMetadata;
import java.sql.Types;

import com.mysema.query.sql.*;

import com.cloudlead.common.lang.annotation.Label;


/**
 * QBaseOilCard is a Querydsl query type for EBaseOilCard
 */
@Label("油卡基本信息表查询")
@Generated("com.cloudlead.utils.persistence.codegen.serializer.SimpleMetaDataSerializer")
public class QBaseOilCard extends RelationalPathBase<EBaseOilCard> {

    private static final long serialVersionUID = 873502632;

    public static final QBaseOilCard baseOilCard = new QBaseOilCard("base_oil_card");

    public class PrimaryKeys {

        public final PrimaryKey<EBaseOilCard> primary = createPrimaryKey(id);

    }

    public class ForeignKeys {

        public final ForeignKey<com.cloudlead.commonData.entity.EBaseCompany> baseOilCardBaseCompany1Fk = createForeignKey(baseCompanyId, "id");

        public final ForeignKey<com.cloudlead.commonData.entity.ETbFuelRecharge> _tbFuelRechargeBaseOilCard1Fk = createInvForeignKey(id, "base_oil_card_id");

        public final ForeignKey<com.cloudlead.commonData.entity.ETbFuelRegister> _tbFuelRegisterBaseOilCard1Fk = createInvForeignKey(id, "base_oil_card_id");

    }

    public final StringPath accountNumber = createString("accountNumber");

    public final StringPath baseCompanyId = createString("baseCompanyId");

    public final StringPath comment = createString("comment");

    public final DateTimePath<org.joda.time.DateTime> date = createDateTime("date", org.joda.time.DateTime.class);

    public final NumberPath<Float> endMoney = createNumber("endMoney", Float.class);

    public final StringPath flag = createString("flag");

    public final StringPath id = createString("id");

    public final StringPath number = createString("number");

    public final NumberPath<Float> startMoney = createNumber("startMoney", Float.class);

    public final StringPath status = createString("status");

    public final StringPath type = createString("type");

    public final StringPath user = createString("user");

    public final PrimaryKeys pk = new PrimaryKeys();

    public final ForeignKeys fk = new ForeignKeys();

    public QBaseOilCard(String variable) {
        super(EBaseOilCard.class, forVariable(variable), "null", "base_oil_card");
        addMetadata();
    }

    public QBaseOilCard(String variable, String schema, String table) {
        super(EBaseOilCard.class, forVariable(variable), schema, table);
        addMetadata();
    }

    public QBaseOilCard(Path<? extends EBaseOilCard> path) {
        super(path.getType(), path.getMetadata(), "null", "base_oil_card");
        addMetadata();
    }

    public QBaseOilCard(PathMetadata<?> metadata) {
        super(EBaseOilCard.class, metadata, "null", "base_oil_card");
        addMetadata();
    }

    public void addMetadata() {
        addMetadata(accountNumber, ColumnMetadata.named("accountNumber").withIndex(5).ofType(Types.VARCHAR).withSize(45));
        addMetadata(baseCompanyId, ColumnMetadata.named("base_company_id").withIndex(12).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(comment, ColumnMetadata.named("comment").withIndex(7).ofType(Types.VARCHAR).withSize(256));
        addMetadata(date, ColumnMetadata.named("Date").withIndex(2).ofType(Types.TIMESTAMP).withSize(19));
        addMetadata(endMoney, ColumnMetadata.named("endMoney").withIndex(4).ofType(Types.REAL).withSize(12));
        addMetadata(flag, ColumnMetadata.named("flag").withIndex(10).ofType(Types.VARCHAR).withSize(45));
        addMetadata(id, ColumnMetadata.named("id").withIndex(1).ofType(Types.CHAR).withSize(24).notNull());
        addMetadata(number, ColumnMetadata.named("number").withIndex(11).ofType(Types.VARCHAR).withSize(45));
        addMetadata(startMoney, ColumnMetadata.named("startMoney").withIndex(3).ofType(Types.REAL).withSize(12));
        addMetadata(status, ColumnMetadata.named("status").withIndex(8).ofType(Types.VARCHAR).withSize(45));
        addMetadata(type, ColumnMetadata.named("type").withIndex(9).ofType(Types.VARCHAR).withSize(45));
        addMetadata(user, ColumnMetadata.named("user").withIndex(6).ofType(Types.VARCHAR).withSize(45));
    }

}

